{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "<h1> Using MOMENT for Imputation </h1>\n",
    "<hr>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Contents\n",
    "### 1. A Quick Introduction to Imputation\n",
    "### 2. Loading MOMENT\n",
    "### 3. Inputs and Outputs\n",
    "### 4. Zero-shot Imputation\n",
    "#### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.1 Masking Time Series Patches\n",
    "#### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.2 Imputation using MOMENT\n",
    "#### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.3 Results\n",
    "### 5. Example Code to Fine-tune MOMENT for Imputation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. A Quick Introduction to Imputation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Multivariate time series are prevalent in real world applications such as finance, meteorology and healthcare. These time series often contain missing values due to various reasons, including equipment malfunctions and human errors. Missing values can impede the meaningful analyis of time series, and hence numerous studies have focused on the task of imputing these missing values using machine learning methodologies. In this tutorial, we will use MOMENT to address the issue of missing values. Formally, the imputation task can be defined as follows:\n",
    "\n",
    "**Problem**: We are given a time series $T = [x_1, ..., x_L], \\ x_i \\in \\mathbb{R}^{C}$ of length $L$ with $C$ channels (sensors or variables), and a boolean mask of same length $mask = [m_1, ..., m_L]$ indicating missing values. The objective of the imputation problem is to infer missing values and recover the original time series."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. Loading MOMENT\n",
    "\n",
    "We will first install the MOMENT package, load some essential packages and the pre-trained model. \n",
    "\n",
    "MOMENT can be loaded in 4 modes: (1) `reconstruction`, (2) `embedding`, (3) `forecasting`, and (4) `classification`.\n",
    "\n",
    "In the `reconstruction` mode, MOMENT reconstructs input time series, potentially containing missing values. We can solve imputation and anomaly detection problems in this mode. This mode is suitable for solving imputation and anomaly detection tasks. During pre-training, MOMENT is trained to predict the missing values within uniformly randomly masked patches (disjoint sub-sequences) of the input time series, leveraging information from observed data in other patches. As a result, MOMENT comes equipped with a pre-trained reconstruction head, enabling it to address imputation and anomaly detection challenges in a zero-shot manner! Check out the `anomaly_detection.ipynb` notebook for more details!\n",
    "\n",
    "In the `embedding` model, MOMENT learns a $d$-dimensional embedding (e.g., $d=1024$ for `MOMENT-1-large`) for each input time series. These embeddings can be used for clustering and classification. MOMENT can learn embeddings in a zero-shot setting! Check out `representation_learning.ipynb` and `classification.ipynb` notebooks for more details! \n",
    "\n",
    "The `forecasting` and `classification` modes are used for forecasting and classification tasks, respectively. In these modes, MOMENT learns representations which are subsequently mapped to the forecast horizon or the number of classes, using linear forecasting and classification heads. Both the forecasting and classification head are randomly initialized, and therefore must be fine-tuned before use. Check out the `forecasting.ipynb` and `classification.ipynb` notebooks for more details!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!pip install numpy pandas scikit-learn matplotlib tqdm\n",
    "!pip install git+https://github.com/moment-timeseries-foundation-model/moment.git"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from momentfm.utils.utils import control_randomness\n",
    "control_randomness(seed=13) # Set random seeds for PyTorch, Numpy etc."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from momentfm import MOMENTPipeline\n",
    "\n",
    "model = MOMENTPipeline.from_pretrained(\n",
    "    \"AutonLab/MOMENT-1-large\",\n",
    "    model_kwargs={'task_name': 'reconstruction'} # For imputation, we will load MOMENT in `reconstruction` mode\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MOMENTPipeline(\n",
      "  (normalizer): RevIN()\n",
      "  (tokenizer): Patching()\n",
      "  (patch_embedding): PatchEmbedding(\n",
      "    (value_embedding): Linear(in_features=8, out_features=1024, bias=False)\n",
      "    (position_embedding): PositionalEmbedding()\n",
      "    (dropout): Dropout(p=0.1, inplace=False)\n",
      "  )\n",
      "  (encoder): T5Stack(\n",
      "    (embed_tokens): Embedding(32128, 1024)\n",
      "    (block): ModuleList(\n",
      "      (0): T5Block(\n",
      "        (layer): ModuleList(\n",
      "          (0): T5LayerSelfAttention(\n",
      "            (SelfAttention): T5Attention(\n",
      "              (q): Linear(in_features=1024, out_features=1024, bias=False)\n",
      "              (k): Linear(in_features=1024, out_features=1024, bias=False)\n",
      "              (v): Linear(in_features=1024, out_features=1024, bias=False)\n",
      "              (o): Linear(in_features=1024, out_features=1024, bias=False)\n",
      "              (relative_attention_bias): Embedding(32, 16)\n",
      "            )\n",
      "            (layer_norm): T5LayerNorm()\n",
      "            (dropout): Dropout(p=0.1, inplace=False)\n",
      "          )\n",
      "          (1): T5LayerFF(\n",
      "            (DenseReluDense): T5DenseGatedActDense(\n",
      "              (wi_0): Linear(in_features=1024, out_features=2816, bias=False)\n",
      "              (wi_1): Linear(in_features=1024, out_features=2816, bias=False)\n",
      "              (wo): Linear(in_features=2816, out_features=1024, bias=False)\n",
      "              (dropout): Dropout(p=0.1, inplace=False)\n",
      "              (act): NewGELUActivation()\n",
      "            )\n",
      "            (layer_norm): T5LayerNorm()\n",
      "            (dropout): Dropout(p=0.1, inplace=False)\n",
      "          )\n",
      "        )\n",
      "      )\n",
      "      (1-23): 23 x T5Block(\n",
      "        (layer): ModuleList(\n",
      "          (0): T5LayerSelfAttention(\n",
      "            (SelfAttention): T5Attention(\n",
      "              (q): Linear(in_features=1024, out_features=1024, bias=False)\n",
      "              (k): Linear(in_features=1024, out_features=1024, bias=False)\n",
      "              (v): Linear(in_features=1024, out_features=1024, bias=False)\n",
      "              (o): Linear(in_features=1024, out_features=1024, bias=False)\n",
      "            )\n",
      "            (layer_norm): T5LayerNorm()\n",
      "            (dropout): Dropout(p=0.1, inplace=False)\n",
      "          )\n",
      "          (1): T5LayerFF(\n",
      "            (DenseReluDense): T5DenseGatedActDense(\n",
      "              (wi_0): Linear(in_features=1024, out_features=2816, bias=False)\n",
      "              (wi_1): Linear(in_features=1024, out_features=2816, bias=False)\n",
      "              (wo): Linear(in_features=2816, out_features=1024, bias=False)\n",
      "              (dropout): Dropout(p=0.1, inplace=False)\n",
      "              (act): NewGELUActivation()\n",
      "            )\n",
      "            (layer_norm): T5LayerNorm()\n",
      "            (dropout): Dropout(p=0.1, inplace=False)\n",
      "          )\n",
      "        )\n",
      "      )\n",
      "    )\n",
      "    (final_layer_norm): T5LayerNorm()\n",
      "    (dropout): Dropout(p=0.1, inplace=False)\n",
      "  )\n",
      "  (head): PretrainHead(\n",
      "    (dropout): Dropout(p=0.1, inplace=False)\n",
      "    (linear): Linear(in_features=1024, out_features=8, bias=True)\n",
      "  )\n",
      ")\n"
     ]
    }
   ],
   "source": [
    "model.init()\n",
    "print(model)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of parameters: 341231104\n"
     ]
    }
   ],
   "source": [
    "# Number of parameters in the encoder\n",
    "num_params = sum(p.numel() for p in model.encoder.parameters())\n",
    "print(f\"Number of parameters: {num_params}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. Inputs and Outputs"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's begin by performing a forward pass through MOMENT and examining its outputs!\n",
    "\n",
    "MOMENT takes 3 inputs: \n",
    "1. An input time series of length $T=512$ timesteps and $C$ channels, and \n",
    "2. Two optional masks, both of length $T=512$. \n",
    "    - The input mask is utilized to regulate the time steps or patches that the model should attend to. For instance, in the case of shorter time series, you may opt not to attend to padding. To implement this, you can provide an input mask with zeros in the padded locations.  \n",
    "    - The second mask, referred to simply as mask, denotes masked or unobserved values. We employ mask tokens to replace all patches containing any masked time step (for further details, refer to Section 3.2 in our [paper](https://arxiv.org/abs/2402.03885)). MOMENT can attend to these mask tokens during reconstruction.\n",
    "    - By default, all time steps are observed and attended to.\n",
    "\n",
    "MOMENT returns a `TimeseriesOutputs` object. Since this is a reconstruction task, it returns a `reconstruction` of the input. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TimeseriesOutputs(forecast=None,\n",
      "                  anomaly_scores=None,\n",
      "                  logits=None,\n",
      "                  labels=None,\n",
      "                  input_mask=tensor([[1., 1., 1.,  ..., 1., 1., 1.],\n",
      "        [1., 1., 1.,  ..., 1., 1., 1.],\n",
      "        [1., 1., 1.,  ..., 1., 1., 1.],\n",
      "        ...,\n",
      "        [1., 1., 1.,  ..., 1., 1., 1.],\n",
      "        [1., 1., 1.,  ..., 1., 1., 1.],\n",
      "        [1., 1., 1.,  ..., 1., 1., 1.]]),\n",
      "                  pretrain_mask=tensor([[1, 1, 1,  ..., 1, 1, 1],\n",
      "        [1, 1, 1,  ..., 1, 1, 1],\n",
      "        [1, 1, 1,  ..., 1, 1, 1],\n",
      "        ...,\n",
      "        [1, 1, 1,  ..., 1, 1, 1],\n",
      "        [1, 1, 1,  ..., 1, 1, 1],\n",
      "        [1, 1, 1,  ..., 1, 1, 1]]),\n",
      "                  reconstruction=tensor([[[-0.0572,  0.0067,  0.0385,  ...,  0.2469, -0.2358, -0.0586]],\n",
      "\n",
      "        [[-0.0850, -0.0467,  0.1126,  ...,  0.2218,  0.0837,  0.0849]],\n",
      "\n",
      "        [[ 0.1014, -0.3116,  0.1800,  ...,  0.2697, -0.2687,  0.2318]],\n",
      "\n",
      "        ...,\n",
      "\n",
      "        [[-0.0375, -0.0908, -0.0936,  ..., -0.0506, -0.0161, -0.0789]],\n",
      "\n",
      "        [[-0.1312, -0.1784, -0.0289,  ...,  0.2406, -0.1846,  0.0185]],\n",
      "\n",
      "        [[-0.0852,  0.0964,  0.1263,  ...,  0.1919,  0.0258,  0.3433]]],\n",
      "       grad_fn=<AddBackward0>),\n",
      "                  embeddings=None,\n",
      "                  metadata=None,\n",
      "                  illegal_output=None)\n"
     ]
    }
   ],
   "source": [
    "from pprint import pprint\n",
    "import torch\n",
    "\n",
    "# takes in tensor of shape [batch_size, n_channels, context_length]\n",
    "x = torch.randn(16, 1, 512)\n",
    "output = model(x)\n",
    "pprint(output)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. Zero-shot Imputation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we'll show you how to use MOMENT to do zero-shot imputation!\n",
    "\n",
    "In these experiments, we will use Hourly Electricity Transformer Temperature (ETTh1) dataset introduced by [Zhou et al., 2020](https://arxiv.org/abs/2012.07436). Check out [ETDataset](https://github.com/zhouhaoyi/ETDataset) for more information! We will use the ETTh1 dataset since missing values are common in this domain!\n",
    "\n",
    "We'll start by reading and pre-processing this dataset using the `InformerDataset` class. Since we can do zero-shot imputation, we will just load the testing part of this data. Note that MOMENT was not exposed to the testing part of this dataset during pre-training. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "from momentfm.data.informer_dataset import InformerDataset\n",
    "from torch.utils.data import DataLoader\n",
    "\n",
    "test_dataset = InformerDataset(\n",
    "    data_split='test', \n",
    "    task_name='imputation', \n",
    "    data_stride_len=512)\n",
    "\n",
    "test_dataloader = DataLoader(test_dataset, batch_size=64, shuffle=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let's visualize the time series"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiIAAAGzCAYAAAASZnxRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAACl8UlEQVR4nO2dd5gV1f3/33d7Y3cpS1k6CCgqgg1RUVEiWKPGWBPF3mMsSSSJEn/RkMTE5GsJGo0tTU3sXYKADQQVFFQQkN7bVpZtd35/jGfmzNzp55y9c/d+Xs/Dw+69d8+dO3fmzHven3ISmqZpIAiCIAiCSAM56d4AgiAIgiCyFxIiBEEQBEGkDRIiBEEQBEGkDRIiBEEQBEGkDRIiBEEQBEGkDRIiBEEQBEGkDRIiBEEQBEGkDRIiBEEQBEGkDRIiBEEQBEGkDRIiBCHIE088gUQigTVr1vi+dtCgQZgyZYrybVLNoEGD8Ktf/UrKWL/61a+QSCSwY8cOKeOlG/Z5CIIIBgkRgujEzJo1C5deeimGDx+OkpISDBkyBJdffjk2b96c7k0jAvLyyy/j4IMPRlFREQYMGIBp06ahra0t3ZtFENIgIUIQgvzwhz9EU1MTBg4cmO5NSeFnP/sZ5syZgzPPPBP33XcfzjvvPDz77LMYM2YMtmzZku7NI3x44403cMYZZ6CyshL3338/zjjjDNx111244YYb0r1pBCGNvHRvAEFkOrm5ucjNzU33Zjhy77334uijj0ZOjnnPMXnyZBx77LF44IEHcNddd6Vx6wg/br31VowaNQpvv/028vL06bq8vBy/+c1vcOONN2LfffdN8xYShDjkiBCEIE45Ipqm4a677kK/fv1QUlKCCRMm4IsvvrD8naZpmDBhAqqqqrBt2zbj8ZaWFhx44IEYOnQoGhsbhbbtmGOOsYgQ9li3bt3w1VdfCY0dlGXLluGcc85BVVUViouLMWLECPziF79IeV1NTQ2mTJmCyspKVFRU4JJLLsGePXssr3n88cdx/PHHo2fPnigsLMTIkSMxY8aMlLEGDRqEU089Fe+//z4OP/xwFBUVYciQIXjqqacsr2Pf3QcffICbb74ZVVVVKC0txZlnnont27enjPvGG29g/PjxKC0tRZcuXXDKKaekfK+y+PLLL/Hll1/iyiuvNEQIAFx77bXQNA3//e9/lbwvQXQ05IgQhALuuOMO3HXXXTj55JNx8skn49NPP8WJJ56IlpYW4zWJRAKPPfYYRo0ahauvvhrPP/88AGDatGn44osvMGfOHJSWlgIAWltbUVtbG+i9u3XrliI+eBoaGtDQ0IAePXoIfMJgfP755xg/fjzy8/Nx5ZVXYtCgQVi1ahVeeeUV3H333ZbXnnPOORg8eDCmT5+OTz/9FI8++ih69uyJ3/3ud8ZrZsyYgf333x+nn3468vLy8Morr+Daa69FMpnEddddZxlv5cqVOPvss3HZZZfh4osvxmOPPYYpU6bgkEMOwf7772957Q033ICuXbti2rRpWLNmDf785z/j+uuvxzPPPGO85u9//zsuvvhiTJo0Cb/73e+wZ88ezJgxA0cffTQWLVqEQYMGue6H2tpatLa2+u6voqIilJWVAQAWLVoEADj00EMtr6murka/fv2M5wki49EIghDi8ccf1wBoq1ev1jRN07Zt26YVFBRop5xyipZMJo3X/fznP9cAaBdffLHl7x9++GENgPaPf/xDmz9/vpabm6v9+Mc/trxm9uzZGoBA/9h2uPHrX/9aA6DNmjUr8mceOHCgNm3aNN/XHXPMMVqXLl20tWvXWh7n98u0adM0ANqll15qec2ZZ56pde/e3fLYnj17Ut5j0qRJ2pAhQ1K2D4D27rvvGo9t27ZNKyws1G655RbjMfbdTZw40bJNN910k5abm6vV1NRomqZp9fX1WmVlpXbFFVdY3mfLli1aRUWF5XH2eXiOPfbYQN8df2zcc889GgBt3bp1KZ/5sMMO04444oiUxwkiEyFHhCAk87///Q8tLS244YYbLGWcP/7xj/Gb3/wm5fVXXnklnn/+edxwww3o0aMHhg4dmvK6gw46CDNnzgz0/r1793Z97t1338Wdd96Jc845B8cff3zATxSN7du3491338WNN96IAQMGWJ5zKm+9+uqrLb+PHz8eL7zwAurq6lBeXg4AKC4uNp5nLsOxxx6Lt956C7W1taioqDCeHzlyJMaPH2/8XlVVhREjRuCbb75Jee8rr7zSsk3jx4/Hn/70J6xduxajRo3CzJkzUVNTg/PPP99SZpybm4uxY8di9uzZnvvij3/8I3bv3u35GkB3OxhNTU0AgMLCwpTXFRUVoa6uznc8gsgESIgQhGTWrl0LABg2bJjl8aqqKnTt2tXxb/72t79h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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "n_channels = test_dataset[0][0].shape[0]\n",
    "idx = np.random.randint(0, len(test_dataset))\n",
    "channel_idx = np.random.randint(0, n_channels)\n",
    "plt.plot(test_dataset[idx][0][channel_idx, :].squeeze(), c='darkblue')\n",
    "plt.title(f'idx={idx}  | channel={channel_idx}')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.1 Masking Time Series Patches\n",
    "\n",
    "Since there are no missing values in this dataset, we will randomly mask time series subsequences to evaluate MOMENT's ability to reason about missing values. Instead of masking individual time steps at random, we will mask time series patches uniformly at random using the `Masking` class."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "from momentfm.utils.masking import Masking\n",
    "\n",
    "mask_generator = Masking(mask_ratio=0.25) # Mask 25% of patches randomly "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.2 Imputation using MOMENT\n",
    "\n",
    "Since there are no missing values in this dataset, we will randomly mask time series subsequences to evaluate MOMENT's ability to reason about missing values. Instead of masking individual time steps at random, we will mask time series patches uniformly at random using the `Masking` class."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 1/1 [00:03<00:00,  3.41s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shapes: preds=(6, 7, 512) | trues=(6, 7, 512) | masks=(6, 7, 512)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "from tqdm import tqdm\n",
    "\n",
    "device = \"cuda:1\" if torch.cuda.is_available() else \"cpu\"\n",
    "model = model.to(device).float()\n",
    "\n",
    "trues, preds, masks = [], [], []\n",
    "with torch.no_grad():\n",
    "    for batch_x, batch_masks in tqdm(test_dataloader, total=len(test_dataloader)):\n",
    "        trues.append(batch_x.numpy())\n",
    "        \n",
    "        batch_x = batch_x.to(device).float()\n",
    "        n_channels = batch_x.shape[1]\n",
    "        \n",
    "        # Reshape to [batch_size * n_channels, 1, window_size]\n",
    "        batch_x = batch_x.reshape((-1, 1, 512)) \n",
    "        \n",
    "        batch_masks = batch_masks.to(device).long()\n",
    "        batch_masks = batch_masks.repeat_interleave(n_channels, axis=0)\n",
    "        \n",
    "        mask = mask_generator.generate_mask(\n",
    "            x=batch_x, input_mask=batch_masks).to(device).long()\n",
    "\n",
    "        output = model(batch_x, input_mask=batch_masks, mask=mask) # [batch_size, n_channels, window_size]\n",
    "        \n",
    "        reconstruction = output.reconstruction.detach().cpu().numpy()\n",
    "        mask = mask.detach().squeeze().cpu().numpy()\n",
    "        \n",
    "        # Reshape back to [batch_size, n_channels, window_size]\n",
    "        reconstruction = reconstruction.reshape((-1, n_channels, 512)) \n",
    "        mask = mask.reshape((-1, n_channels, 512))\n",
    "                \n",
    "        preds.append(reconstruction)\n",
    "        masks.append(mask)\n",
    "\n",
    "preds = np.concatenate(preds)\n",
    "trues = np.concatenate(trues)\n",
    "masks = np.concatenate(masks)\n",
    "\n",
    "print(f\"Shapes: preds={preds.shape} | trues={trues.shape} | masks={masks.shape}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.3 Results\n",
    "\n",
    "Since there are no missing values in this dataset, we will randomly mask time series subsequences to evaluate MOMENT's ability to reason about missing values. Instead of masking individual time steps at random, we will mask time series patches uniformly at random using the `Masking` class."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean Squarred Error (MSE)=0.3958190247397213\n",
      "Mean Absolute Error (MAE)=0.38577987663802804\n"
     ]
    }
   ],
   "source": [
    "from momentfm.utils.forecasting_metrics import mse, mae\n",
    "\n",
    "print(f\"Mean Squarred Error (MSE)={mse(y=trues[masks==0], y_hat=preds[masks==0], reduction='mean')}\")\n",
    "print(f\"Mean Absolute Error (MAE)={mae(y=trues[masks==0], y_hat=preds[masks==0], reduction='mean')}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let's visualize random time series windows! White patches are masked and black patches are observed."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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iNWrV4tjx46Jc+fOCSGEWLlypQgNDRXvv/+++Oabb8Tdd98tevToISoqKtTHmDhxohgyZIg4fPiw+Pzzz0WvXr3EAw88YNS3RO3s8ccfFyEhISItLU1cunRJ/VNeXq4e89hjj4n4+HixZ88e8dVXX4nk5GSRnJys3l9bWysGDBggxo8fLzIyMsSOHTtERESEWLJkiRHfEmlg8eLFYu/evSIrK0t88803YvHixUKSJLFz504hBOcIOWffXU0IzhOSLVq0SKSlpYmsrCzxxRdfiHHjxonw8HCRn58vhOA8YZDTSi+//LKIj48X3t7eYsSIEeLQoUNGD4l09NlnnwkAjf7Mnj1bCCG3kX7hhRdEVFSU8PHxESkpKSIzM9PhMa5evSoeeOABERgYKIKDg8VDDz0kSkpKDPhuSAvO5gcA8cYbb6jHVFRUiCeeeEKEhYUJf39/MXXqVHHp0iWHxzl79qyYNGmS8PPzE+Hh4WLRokWipqZG5++GtPKrX/1KdOvWTXh7e4uIiAiRkpKiBjhCcI6Qcw2DHM4TEkKImTNnii5dughvb2/RtWtXMXPmTHH69Gn1fk+fJ5IQQhiTQyIiIiIiImp/XJNDRERERERuhUEOERERERG5FQY5RERERETkVhjkEBERERGRW2GQQ0REREREboVBDhERERERuRUGOURERERE5FYY5BARERERkVthkENERERERG6FQQ4REREREbkVBjlERERERORWGOQQEREREZFbYZBDRERERERuhUEOERERERG5FQY5RERERETkVhjkEBERERGRW2GQQ0REREREboVBDhERERERuRUGOURERERE5FYY5BARERERkVthkENERERERG6FQQ4REREREbkVBjlERERERORWGOQQEREREZFbYZBDRERERERuhUEOERERERG5FQY5RERERETkVhjkEBERERGRW2GQQ0REREREboVBDhERERERuRUGOURERERE5FYY5BARERERkVthkENERERERG6FQQ4REREREbkVBjlERERERORWGOQQEREREZFbYZBDRERERERuhUEOERERERG5FQY5RERERETkVhjkEBERERGRW2GQQ0REREREboVBDhERERERuRUGOURERERE5FYY5BARERERkVthkENERERERG6FQQ4REREREbkVBjlERERERORWGOQQEREREZFbYZBDRERERERuhUEOERERERG5FQY5RERERETkVhjkEBERERGRW2GQQ0REREREboVBDhERERERuRUGOURERERE5FYY5BARERERkVthkENERERERG6FQQ4REREREbkVBjlERERERORWGOQQEREREZFbYZBDRERERERuhUEOERERERG5FQY5RERERETkVhjkEBERERGRW2GQQ0REREREboVBDhERERERuRUGOURERERE5FYY5BARERERkVthkENERERERG6FQQ4REREREbkVBjlERERERORWGOQQEREREZFbYZBDRERERERuhUEOERERERG5FQY5RERERETkVhjkEBERERGRW2GQQ0REREREboVBDhERERERuRUGOURERERE5FYY5BARERERkVthkENERERERG6FQQ4REREREbkVBjlERERERORWGOQQEREREZFbYZBDRERERERuhUEOERERERG5FQY5RERERETkVhjkEBERERGRW2GQQ0REREREboVBDhERERERuRUGOURERERE5FZ0CXLWrl2L7t27w9fXF0lJSfjyyy/1eFoiIiIiIvJAmgc577zzDhYuXIhly5bh6NGjGDx4MCZMmID8/Hytn5qIiIiIiDyQJIQQWj5BUlIShg8fjldeeQUAYLVaERcXhwULFmDx4sXNfq3VakVOTg6CgoIgSZKWwyQiIiIiIhcmhEBJSQliYmJgMjWfqzFrOZDq6mqkp6djyZIl6m0mkwnjxo3DwYMHGx1fVVWFqqoq9f8XL15E//79tRwiERERERF1INnZ2YiNjW32GE2DnCtXrqCurg5RUVEOt0dFReH7779vdHxqaipWrFjR6Pbs7GwEBwdrMsaxY8ciPT1dk8d2B4mJiTh8+DDM5tZNlatXr+Lmm29GcXGxxiPTzqpVq/DII4+0+vg///nP+P3vf9/q4++77z78/e9/b/Xxe/fuxc9+9rNWH9+7d28cOnQIXl5erTo+Pz8fN998M8rKylr9HB3dc889h9/97netPv6f//wnnnjiCQ1H1DaRkZH4+uuv4e/v36rjy8vLcfPNNyMvL6/Vz3HgwAHcdNNNrT5+6tSp2LNnT6uPJ+N98MEHuP3221t9/Lx58/DOO++0+vilS5di0aJFrT5+w4YNWLhwYauPnzhxYpvGc+zYMYwZM6bVx2vNy8sLhw8fRq9evVr9NXfeeSe++OKL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",
      "text/plain": [
       "<Figure size 1000x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "idx = np.random.randint(trues.shape[0])\n",
    "channel_idx = np.random.randint(trues.shape[1])\n",
    "\n",
    "fig, axs = plt.subplots(2, 1, figsize=(10, 5))\n",
    "axs[0].set_title(f\"Channel={channel_idx}\")\n",
    "axs[0].plot(trues[idx, channel_idx, :].squeeze(), label='Ground Truth', c='darkblue')\n",
    "axs[0].plot(preds[idx, channel_idx, :].squeeze(), label='Predictions', c='red')\n",
    "axs[0].legend(fontsize=16)\n",
    "\n",
    "axs[1].imshow(np.tile(masks[np.newaxis, idx, channel_idx], reps=(8, 1)), cmap='binary')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5. Example Code to Fine-tune MOMENT for Imputation\n",
    "\n",
    "To improve MOMENT's imputation performance, you can fine-tune it on any dataset. In our [paper](https://arxiv.org/abs/2402.03885), we fine-tune the final reconstruction head, but you can also fine-tune the entire model on your data. Here is some example code:\n",
    "\n",
    "```python\n",
    "\n",
    "# Optimize Mean Squarred Error using your favourite optimizer\n",
    "criterion = torch.nn.MSELoss() \n",
    "optimizer = torch.optim.Adam(model.parameters(), lr=1e-4)\n",
    "\n",
    "mask_generator = Masking(mask_ratio=0.3) # Mask 30% of patches randomly \n",
    "\n",
    "for batch_x, batch_masks in tqdm(test_dataloader, total=len(test_dataloader)):\n",
    "    n_channels = batch_x.shape[1]\n",
    "    \n",
    "    # Reshape to [batch_size * n_channels, 1, window_size]\n",
    "    batch_x = batch_x.reshape((-1, 1, 512)) \n",
    "    \n",
    "    batch_masks = batch_masks.to(device).long()\n",
    "    batch_masks = batch_masks.repeat_interleave(n_channels, axis=0)\n",
    "    \n",
    "    # Randomly mask some patches of data\n",
    "    mask = mask_generator.generate_mask(\n",
    "        x=batch_x, input_mask=batch_masks).to(device).long()\n",
    "\n",
    "    # Forward\n",
    "    output = model(batch_x, input_mask=batch_masks, mask=mask) \n",
    "    \n",
    "    # Compute loss\n",
    "    recon_loss = criterion(output.reconstruction, original)\n",
    "    observed_mask = batch_masks * (1 - mask)\n",
    "    masked_loss = observed_mask * recon_loss\n",
    "    \n",
    "    loss = masked_loss.nansum() / (observed_mask.nansum() + 1e-7)\n",
    "    \n",
    "    print(f\"loss: {loss.item()}\")\n",
    "    \n",
    "    # Backward\n",
    "    optimizer.zero_grad()\n",
    "    loss.backward()\n",
    "    optimizer.step()\n",
    "```"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
